!MSc Thesis Code
!Author: Amin Deldari Alamdari
!Topic: Optimum Design of Rib-Reinforced Webs of I-Beams
!Department of Mechanical Engineering, Bogazici University, 2019-2020


!*******************************************************************************************************
!Units: m, kg, m/s^2, kg/m^3, N, Pa
!*******************************************************************************************************
FINISH
/CLEAR,NOSTART
/Filname, I-Beam (COMPOSITE) Non-Linear Buckling Verification


!*******************************************************************************************************
!									INITIALIZATION OF THE PROGRAM
!*******************************************************************************************************
KEYW,PR_SGVOF,0 			!NO WARNING MESSAGE
/NERR,0,100000,,0,0 		!LIMITING THE NUMBER OF WARNING AND ERROR MESSAGES DISPLAYED
!/FTYPE,ALL,INT 
/PREP7
/NOPR   
!OUTRES,ALL,NONE			!CONTROLLING THE SOLUTION DATA WRITTEN TO THE DATABASE
!OUTRES,MISC
!OUTRES,ESOL
!OUTPR,ALL,LAST 
!/FILNAME,buckling,0
KEYW,PR_SET,1   
KEYW,PR_STRUC,1 
KEYW,PR_THERM,0 
KEYW,PR_FLUID,0 
KEYW,PR_ELMAG,0 
KEYW,MAGNOD,0   
KEYW,MAGEDG,0   
KEYW,MAGHFE,0   
KEYW,MAGELC,0   
KEYW,PR_MULTI,0 
!*
/Pnum,KP,1 					!Activate Key Points Numbering
/Pnum,Area,1				!Activate Areas Numbering
/VIEW,1,1,1,1   
/ANG,1  
/REP,FAST  
!*
!/GFILE, 2400				!PIXEL RESOLUTION ON Z-BUFFERED GRAPHIC FILES

!*******************************************************************************************************
!										ELEMENT TYPE
!*******************************************************************************************************
ET,1,181					!Define Element Type as SHELL181

KEYOPT,1,1,0 
KEYOPT,1,3,0 
KEYOPT,1,5,0 
KEYOPT,1,8,0 
KEYOPT,1,9,0 
!


!*******************************************************************************************************
!									DEFINE MATERIAL PROPERTIES
!*******************************************************************************************************
!Define Material Elastic Properties (Parametric)

ThicknessPly=0.000125		        !PLY THICKNESS
LaminatePlyNumberTop=8				!PLY NUMBER OF THE TOP FLANGE LAMINATES
LaminatePlyNumberWeb=4				!PLY NUMBER OF THE WEB LAMINATES
LaminatePlyNumberBottom=8			!PLY NUMBER OF THE BOTTOM FLANGE LAMINATES

ElasticModulus1=165e9				!LONGITUDINAL ELASTIC MODULUS (E1) (FIBER DIRECTION)
ElasticModulus2=9e9					!TRANSVERSE ELASTIC MODULUS (E2)
ElasticModulus3=9e9					!THROUGH-THICKNESS ELASTIC MODULUS (E3)

ShearModulus12=5.6e9				!IN-PLANE SHEAR MODULUS (G12)
ShearModulus13=5.6e9				!TRANSVERSE SHEAR MODULUS (G13)
ShearModulus23=2.8e9				!THROUGH-THICKNESS SHEAR MODULUS (G23)

PoissonsRatio12=0.34				!MAJOR POISSON'S RATIO (v12)
PoissonsRatio13=0.34				!MAJOR TRANSVERSE POISSON'S RATIO (v13)
PoissonsRatio23=0.5					!THROUGH-THICKNESS POISSON'S RATIO (v23)

TensileStrength1=2560e6				!LONGITUDINAL TENSILE STRENGTH (XT) (FIBER DIRECTION)
CompressiveStrength1=-1590e6		!LONGITUDINAL COMPRESSIVE STRENGTH (XC)
TensileStrength2=73e6				!TRANSVERSE TENSILE STRENGTH (YT)
CompressiveStrength2=-185e6			!TRANSVERSE COMPRESSIVE STRENGTH (YC)
TensileStrength3=63e6				!THROUGH-THICKNESS TENSILE STRENGTH (ZT)
CompressiveStrength3=-185e6			!THROUGH-THICKNESS COMPRESSIVE STRENGTH (ZC)

ShearStrength12=90e6				!IN-PLANE SHEAR STRENGTH (S12)
ShearStrength13=90e6				!TRANSVERSE SHEAR STRENGTH (S13)
ShearStrength23=57e6				!THROUGH-THICKNESS SHEAR STRENGTH (S23)

TensileStrain1=0.01551				!LONGITUDINAL TENSILE FAILURE STRAIN (E1T) (FIBER DIRECTION)
CompressiveStrain1=-0.011			!LONGITUDINAL COMPRESSIVE FAILURE STRAIN (E1C)
TensileStrain2=0.0081				!TRANSVERSE TENSILE FAILURE STRAIN (E2T)
CompressiveStrain2=-0.032			!TRANSVERSE COMPRESSIVE FAILURE STRAIN (E2C)
TensileStrain3=0.007				!THROUGH-THICKNESS TENSILE FAILURE STRAIN (E3T)
CompressiveStrain3=-0.032			!THROUGH-THICKNESS COMPRESSIVE FAILURE STRAIN (E3C)

ShearStrain12=0.05					!IN-PLANE SHEAR FAILURE STRAIN (Gama12)
ShearStrain13=0.05					!TRANSVERSE SHEAR FAILURE STRAIN (Gama13)
ShearStrain23=0.021					!THROUGH-THICKNESS SHEAR FAILURE STRAIN (Gama23)

Density=1600						!MATERIAL DENSITY

!---------------------------------------------------------------------------------------------------------
!Define Fiberes Orientation Angle
Theta1=0
Theta2=90
Theta3=45
Theta4=-45
!---------------------------------------------------------------------------------------------------------

MPTEMP,,,,,,,,   						!Define a Temperature Table for Material Properties
										!For Introducing MPDATA It Is Required to Define Temperature First
MPTEMP,1,0   
										!Defines Property Data to be Associated With The Temperature Table
										!Elastic Modulus, Shear Modulus, And Poisson's Ratio Are Defines by
										!This Code
MPDATA,EX,1,,ElasticModulus1 			
MPDATA,EY,1,,ElasticModulus2 
MPDATA,EZ,1,,ElasticModulus3 
MPDATA,PRXY,1,,PoissonsRatio12  
MPDATA,PRYZ,1,,PoissonsRatio23 
MPDATA,PRXZ,1,,PoissonsRatio13 
MPDATA,GXY,1,,ShearModulus12
MPDATA,GYZ,1,,ShearModulus23
MPDATA,GXZ,1,,ShearModulus13
MPDATA,DENS,1,,Density

										!A Material Data Table Is a Series of Constants That are Interpreted when
										!They Are Used. Data Tables Are Alwaus Associated With a Material Number 
										!And Are Most Often Used to Define Nonlinear Material Data
										
TB,FCLI,1,1,9,1							!Activate a Data Table For Material Properties od Special Element Inputs
										!For Defining Stress Strength Limit Use (1), And For Strain-Strength Limit
										!Use (2) in Last Part of This Line of Code
TBTEMP,0								!Define a Temperature Value For a Material Data Table

										!Defines Data For The Material Data Table 
TBDATA,1,TensileStrength1
TBDATA,2,CompressiveStrength1
TBDATA,3,TensileStrength2
TBDATA,4,CompressiveStrength2
TBDATA,5,TensileStrength3
TBDATA,6,CompressiveStrength3
TBDATA,7,ShearStrength12 
TBDATA,8,ShearStrength23
TBDATA,9,ShearStrength13

TB,FCLI,1,1,9,2
TBTEMP,0
TBDATA,1,TensileStrain1
TBDATA,2,CompressiveStrain1
TBDATA,3,TensileStrain2
TBDATA,4,CompressiveStrain2
TBDATA,5,TensileStrain3
TBDATA,6,CompressiveStrain3
TBDATA,7,ShearStrain12 
TBDATA,8,ShearStrain23
TBDATA,9,ShearStrain13

										!Provides Failure Criteria Information And Activates A Data Table To Input
										!Temperature-Dependent Stress And Strain Limits
										!(S) Assigned For Stresses And (EPEL) Assigned For Strains
										!Fpr More Information About Lab of F.C. Look At APDL HELP
FC,1,S,XTEN,TensileStrength1
FC,1,S,YTEN,TensileStrength2
FC,1,S,ZTEN,TensileStrength3
FC,1,S,XCMP,CompressiveStrength1
FC,1,S,YCMP,CompressiveStrength2
FC,1,S,ZCMP,CompressiveStrength3
FC,1,S,XY,ShearStrength12
FC,1,S,YZ,ShearStrength23
FC,1,S,XZ,ShearStrength13

FC,1,EPEL,XTEN,TensileStrain1
FC,1,EPEL,YTEN,TensileStrain2
FC,1,EPEL,ZTEN,TensileStrain3
FC,1,EPEL,XCMP,CompressiveStrain1
FC,1,EPEL,YCMP,CompressiveStrain2
FC,1,EPEL,ZCMP,CompressiveStrain3
FC,1,EPEL,XY,ShearStrain12
FC,1,EPEL,YZ,ShearStrain23
FC,1,EPEL,XZ,ShearStrain13


!*******************************************************************************************************
!									DEFINE GEOMETRIC PARAMETERS
!*******************************************************************************************************
tc=2e-3						!Thickness of Web
ts=12e-3					!Thickness of Flanges
H=500e-3					!Height of Cross Section
L=2000e-3					!Length of Beam
L1=200e-3					!Width of Flanges
L2=L/10

ThicknessTop=(LaminatePlyNumberTop*ThicknessPly)*12				!TOP THICKNESS (1 mm)*n
ThicknessWeb=(LaminatePlyNumberWeb*ThicknessPly)*4				!WEB THICKNESS (0,5 mm)*n
ThicknessBottom=(LaminatePlyNumberBottom*ThicknessPly)*12		!BOTTOM THICKNESS (1 mm)*n

ThicknessFlangeTotal=ThicknessTop+ThicknessBottom				!TOTAL FLANGE THICKNESS

PlyNumberTop=ThicknessTop/ThicknessPly							!TOTAL PLY NUMBER OF THE TOP FLANGE
PlyNumberWeb=ThicknessWeb/ThicknessPly							!TOTAL PLY NUMBER OF THE WEB
PlyNumberBottom=ThicknessBottom/ThicknessPly					!TOTAL PLY NUMBER OF THE BOTTOM FLANGE




!*******************************************************************************************************
!										SECTION TYPE
!*******************************************************************************************************
SECT,1,shell,,Top Flange 							!Define Section Type with ID Number Of 1, And Type Of Shell 
													!With "Top Flange" Name Assigned To It
*DO,ply,1,PlyNumberTop/LaminatePlyNumberTop,1
SECDATA, ThicknessPly,1,Theta3,3    
SECDATA, ThicknessPly,1,Theta1,3   
SECDATA, ThicknessPly,1,Theta4,3 
SECDATA, ThicknessPly,1,Theta1,3    
SECDATA, ThicknessPly,1,Theta1,3    
SECDATA, ThicknessPly,1,Theta4,3 
SECDATA, ThicknessPly,1,Theta1,3   
SECDATA, ThicknessPly,1,Theta3,3    
SECOFFSET,BOT    
SECCONTROL,,,, , , , 
*ENDDO
!---------------------------------------------------------------------------------------------------------

SECT,2,shell,,Web
*DO,ply,1,PlyNumberWeb/LaminatePlyNumberWeb,1
SECDATA, ThicknessPly,1,Theta3,3    
SECDATA, ThicknessPly,1,Theta4,3   
SECDATA, ThicknessPly,1,Theta4,3   
SECDATA, ThicknessPly,1,Theta3,3    
SECOFFSET,MID    
SECCONTROL,,,, , , ,
*ENDDO
!---------------------------------------------------------------------------------------------------------

SECT,3,shell,,Bottom Flange  
*DO,ply,1,PlyNumberBottom/LaminatePlyNumberBottom,1
SECDATA, ThicknessPly,1,Theta3,3    
SECDATA, ThicknessPly,1,Theta1,3   
SECDATA, ThicknessPly,1,Theta4,3 
SECDATA, ThicknessPly,1,Theta1,3 
SECDATA, ThicknessPly,1,Theta1,3    
SECDATA, ThicknessPly,1,Theta4,3 
SECDATA, ThicknessPly,1,Theta1,3   
SECDATA, ThicknessPly,1,Theta3,3    
SECOFFSET,TOP    
SECCONTROL,,,, , , , 
*ENDDO


!*******************************************************************************************************
!										GENERATE GEOMETRY
!*******************************************************************************************************
!Define Keypoints

K,1,-L1/2,0,(-L/2-L2)
K,2,0,0,(-L/2-L2)
K,3,L1/2,0,(-L/2-L2)
K,4,0,(-H+2*ts),(-L/2-L2)
K,5,-L1/2,(-H+2*ts),(-L/2-L2)
K,6,L1/2,(-H+2*ts),(-L/2-L2)

K,7,-L1/2,0,-L/2
K,8,0,0,-L/2
K,9,L1/2,0,-L/2
K,10,0,(-H+2*ts),-L/2
K,11,-L1/2,(-H+2*ts),-L/2
K,12,L1/2,(-H+2*ts),-L/2


K,13,-L1/2,0,0
K,14,0,0,0
K,15,L1/2,0,0
K,16,0,(-H+2*ts),0
K,17,-L1/2,(-H+2*ts),0
K,18,L1/2,(-H+2*ts),0

K,19,-L1/2,0,L/2
K,20,0,0,L/2
K,21,L1/2,0,L/2
K,22,0,(-H+2*ts),L/2
K,23,-L1/2,(-H+2*ts),L/2
K,24,L1/2,(-H+2*ts),L/2

K,25,-L1/2,0,(L/2+L2)
K,26,0,0,(L/2+L2)
K,27,L1/2,0,(L/2+L2)
K,28,0,(-H+2*ts),(L/2+L2)
K,29,-L1/2,(-H+2*ts),(L/2+L2)
K,30,L1/2,(-H+2*ts),(L/2+L2)

K,100,0,(-(H-2*ts)/2),0


!Define Areas by Using Keyponts

!A,7,8,10,11
!A,8,9,12,10
!A,19,20,22,23
!A,20,21,24,22
A,2,8,10,4
A,8,14,100,16,10
A,14,20,22,16,100
A,20,26,28,22


A,1,2,8,7
A,7,8,14,13
A,13,14,20,19
A,19,20,26,25
A,2,3,9,8
A,8,9,15,14
A,14,15,21,20
A,20,21,27,26

A,5,4,10,11
A,11,10,16,17
A,17,16,22,23
A,23,22,28,29
A,4,6,12,10
A,10,12,18,16
A,16,18,24,22
A,22,24,30,28


AGLUE,ALL



!*******************************************************************************************************
!											Meshing
!*******************************************************************************************************
!Associating Defined Sections to each Elements


CM,_Y,AREA  
ASEL, , , ,       5 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       6 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       7 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       8 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       9 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       10 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       11 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       12 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   1  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  

!---------------------------------------------------------------------------------------------------------
  
CM,_Y,AREA  
ASEL, , , ,       1 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   2  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!* 
!*  
CM,_Y,AREA  
ASEL, , , ,       2 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   2  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
!*  
CM,_Y,AREA  
ASEL, , , ,       3 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   2 
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       4 
CM,_Y1,AREA 
CMSEL,S,_Y  
*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   2 
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
!CM,_Y,AREA  
!ASEL, , , ,       5 
!CM,_Y1,AREA 
!CMSEL,S,_Y  
!*  
!CMSEL,S,_Y1 
!AATT,       1, ,   1,       0,   2 
!CMSEL,S,_Y  
!CMDELE,_Y   
!CMDELE,_Y1  
!*  
!CM,_Y,AREA  
!ASEL, , , ,       6 
!CM,_Y1,AREA 
!CMSEL,S,_Y  
!*  
!CMSEL,S,_Y1 
!AATT,       1, ,   1,       0,   2  
!CMSEL,S,_Y  
!CMDELE,_Y   
!CMDELE,_Y1  
!*  
!CM,_Y,AREA  
!ASEL, , , ,       7 
!CM,_Y1,AREA 
!CMSEL,S,_Y  
!*  
!CMSEL,S,_Y1 
!AATT,       1, ,   1,       0,   2  
!CMSEL,S,_Y  
!CMDELE,_Y   
!CMDELE,_Y1  
!*
!---------------------------------------------------------------------------------------------------------
CM,_Y,AREA  
ASEL, , , ,       13 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       14 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       15 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       16 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       17 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       18 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       19 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  
CM,_Y,AREA  
ASEL, , , ,       20 
CM,_Y1,AREA 
CMSEL,S,_Y  
!*  
CMSEL,S,_Y1 
AATT,       1, ,   1,       0,   3  
CMSEL,S,_Y  
CMDELE,_Y   
CMDELE,_Y1  
!*  

!---------------------------------------------------------------------------------------------------------

Mesh_size=8e-3
Esize,8e-3				!Specifies the Default Number of Line Divisions
Amesh,All				!Generate Nodes and Area Elements within All Area by Using Defines Size in Esize Command


!*******************************************************************************************************
!								APPLIED LOAD AND BOUNDARY CONDITIONS
!*******************************************************************************************************
!Defines DOF Constraints on Lines

DL,34,,UX,0
DL,34,,UY,0
DL,44,,UX,0
DL,44,,UY,0
DL,38,,UX,0
DL,38,,UY,0
DL,38,,UZ,0
DL,48,,UX,0
DL,48,,UY,0
DL,48,,UZ,0

DK,7,UX,0
DK,9,UX,0
DK,21,UX,0
DK,19,UX,0
DK,7,ROTZ,0
DK,9,ROTZ,0
DK,21,ROTZ,0
DK,19,ROTZ,0
!
Asum
*get,Area0,AREA,0,AREA
Mass0=Density*9.81*Area0

!---------------------------------------------------------------------------------------------------------
!       				Master node for CERIG is created
!---------------------------------------------------------------------------------------------------------
K,5e6,0,0,0
ET,3,MASS21
R,1,0,0,0,0,0,0,
NUMSTR,NODE,5e6
KMESH,       5e6

!---------------------------------------------------------------------------------------------------------
!       				Rigid Region is created
!---------------------------------------------------------------------------------------------------------
NSEL,S,LOC,Z,(-(Mesh_size)/2),((Mesh_size)/2)
NSEL,R,LOC,Y,0,ts
NSEL,U, , ,    5e6 
CM,load_nodes,NODE,
CMSEL,S,load_nodes
NSEL,A, , ,    5e6 
CERIG,5e6,ALL,UY,RXYZ

ALLSEL

Force=-1  

F,5e6,FY,Force
Alls

!*******************************************************************************************************
!											SOLUTION
!*******************************************************************************************************
Fini
/Solu
Alls
Antype,0							!Static Analysis
Solve
Finish

/solu
ANTYPE,1							!Linear Buckling Analysis
!*  
BUCOPT,LANB,6,0,0,CENTER
Pstres,on   
/STATUS,SOLU
SOLVE   
FINISH  
/POST1  
/SHOW,WIN32C
SET,FIRST   
/PLOPTS,INFO,3  
/CONTOUR,ALL,18 
/POST1  
/SHOW,WIN32C
SET,FIRST   
/PLOPTS,INFO,3  
/CONTOUR,ALL,18 
/PNUM,MAT,1 
/NUMBER,1   
/REPLOT,RESIZE  
PLNSOL,U,SUM 
/ANG,1  
/REP,FAST  
